package com.zkyc.framework.user.service;

import com.zkyc.framework.common.dto.PageDto;
import com.zkyc.framework.common.pojo.Role;
import com.zkyc.framework.common.vo.ResultVO;
import com.zkyc.framework.common.vo.role.RolePageDto;
import com.zkyc.framework.common.vo.role.RoleWebsiteVo;

import java.util.List;

/**
 * (Role)表服务接口
 *
 * @author wj
 * @since 2022-05-25 16:19:49
 */
public interface RoleService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    Role queryById(Integer id);


    /**
     * 新增数据
     *
     * @return 实例对象
     */
    ResultVO insert(RoleWebsiteVo roleWebsiteVo);

    /**
     * 修改数据
     *
     * @return 实例对象
     */
    ResultVO update(RoleWebsiteVo  roleWebsiteVo);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    ResultVO deleteById(Integer id);

    ResultVO getRoleList(RolePageDto rolePageDto);

    ResultVO forbidden(Integer roleId, Integer type);

    ResultVO queryRoleInfo(Integer roleId);

    ResultVO queryWebsiteList(String  userId);

    ResultVO queryWebsiteRight(Integer websiteId);

    ResultVO queryAllRoleListByUserId(String userId);

    ResultVO addWebsiteRole(Integer websiteId,String websiteName,String userId);

    ResultVO getTreeData();

    ResultVO getRoleMenu(Integer roleId);

    ResultVO getMenuByRight(List<Integer> rightIdList);

    String getDataRight(String websiteId,String userId);
}
